import numpy as np

mapping_arr = [i for i in range(32,64)] + [i for i in range(0,32)]

n = int(len(mapping_arr) ** 0.5)
if n * n != len(mapping_arr):
    raise ValueError("映射数组长度必须是一个正整数的平方")
    exit(-1)

def point_map(arr):

    # 创建一个空的二维数组
    result = np.zeros((n, n), dtype=int)

    for i, row in enumerate(arr):
        for j, value in enumerate(row):
            row_, col_ = divmod(mapping_arr[i*n+j], n)
            result[row_, col_] = value

    return result
